/*!
 * 该文件存放 node 环境的所有配置
 */
import os from 'node:os';
import path from 'node:path';

/**
 * 该项目数据存放目录
 * @description 该目录下存放本项目的数据，包括配置文件，图片、数据库文件等，例如：storeDir/config.json
 */
export const storeDir = path.join(os.homedir(), '.nebulae');

/**
 * 系统目录变量
 *
 * @description 该关键字用于在配置文件中替换为系统目录
 * - %OS_HOME_DIR%: 用户主目录
 * - %OS_TMP_DIR%: 临时目录
 * - %OS_CACHE_DIR%: 缓存目录
 *
 * @example mac
 * - %OS_HOME_DIR%: /Users/username
 * - %OS_TMP_DIR%: /tmp
 * - %OS_CACHE_DIR%: /Users/username/.cache
 *
 * @example windows
 * - %OS_HOME_DIR%: C:\Users\username
 * - %OS_TMP_DIR%: C:\Windows\Temp
 * - %OS_CACHE_DIR%: C:\Users\username\.cache
 *
 * @example linux
 * - %OS_HOME_DIR%: /root
 * - %OS_TMP_DIR%: /tmp
 * - %OS_CACHE_DIR%: /root/.cache
 */
export const SYSTEM_DIR_VAR = {
  '%OS_HOME_DIR%': os.homedir(),
  '%OS_TMP_DIR%': os.tmpdir(),
  '%OS_CACHE_DIR%': path.join(os.homedir(), '.cache'),
};

/**
 * Session cookie 加密密钥: for iron-session
 */
export const sessionSecretKey = process.env.SESSION_SECRET || '';

/**
 * 本地域名 localhost
 */
export const privateOrigin = process.env.__NEXT_PRIVATE_ORIGIN as string;
